Carlos Garnacho [Fri, 15 Sep 2017 11:53:43 +0000 (13:53 +0200)]
gtkpathbar: Use scroll event controller
Carlos Garnacho [Fri, 15 Sep 2017 11:53:27 +0000 (13:53 +0200)]
gtkmenu: Use scroll event controller
Carlos Garnacho [Fri, 15 Sep 2017 11:52:55 +0000 (13:52 +0200)]
gtkcombobox: Use scroll event controller
Carlos Garnacho [Fri, 15 Sep 2017 11:22:57 +0000 (13:22 +0200)]
gtk: Add GtkEventControllerScroll
This is a GtkEventController implementation to handle mouse
scrolling. It handles both smooth and discrete events and
offers a way for callers to tell their preference too, so
smooth events shall be accumulated and coalesced on request.
On capable devices, it can also emit ::scroll-begin and
::scroll-end enclosing all ::scroll events for a scroll
operation.
It also has builtin kinetic scrolling capabilities, reporting
the initial velocity for both axes after ::scroll-end if
requested.
Carlos Garnacho [Fri, 15 Sep 2017 11:21:25 +0000 (13:21 +0200)]
gdk/x11: Avoid delivering emulated scroll events
We now just propagate the real event, and let the caller deal
with smooth vs discrete.
Carlos Garnacho [Fri, 15 Sep 2017 11:20:16 +0000 (13:20 +0200)]
gdk/wayland: Drop emission of emulated scroll events
A wl_pointer.frame can now only result on one scroll event
being emitted.
Carlos Garnacho [Mon, 29 May 2017 12:55:37 +0000 (14:55 +0200)]
gtk: Change gtk_propagate_event() to propagate both ways.
This change is made for consistency, it doesn't make sense to expose
one-way propagation, as it can only break expectations from GTK+. This
function might be made entirely private in the future, but it still
makes sense to do this in one go for our internal usecases.
Carlos Garnacho [Mon, 29 May 2017 10:16:21 +0000 (12:16 +0200)]
gdk/x11: Drop motion/button events emulated from touch
We now always listen to touch events. Just avoid delivering both
types of events.
Carlos Garnacho [Mon, 29 May 2017 10:08:19 +0000 (12:08 +0200)]
eventcontroller: Drop event_mask API
This is unchecked, we can remove it entirely as well.
Carlos Garnacho [Mon, 29 May 2017 10:02:53 +0000 (12:02 +0200)]
gtkwidget: Drop pointer emulation out of touch events
Users of touch events are required to either use a GtkGesture, or handle
touch events themselves.
Carlos Garnacho [Fri, 26 May 2017 16:55:30 +0000 (18:55 +0200)]
gtk: Run GtkWidgetClass event signals inside a GtkEventController
This will allow further cleanups and optimizations in capture/target/bubble
event delivery. For simplicity, ATM every widget will receive its own
GtkEventControllerLegacy, it could be desirable to add finer control over
this in the future, so widgets that fully use event controllers for input
management can do away without this legacy piece.
Matthias Clasen [Mon, 28 Aug 2017 23:11:45 +0000 (19:11 -0400)]
testsuite: Use GdkEvent API
Matthias Clasen [Mon, 28 Aug 2017 23:11:14 +0000 (19:11 -0400)]
tests: Use GdkEvent API
Matthias Clasen [Mon, 28 Aug 2017 23:05:31 +0000 (19:05 -0400)]
examples: Use GdkEvent API
Matthias Clasen [Mon, 28 Aug 2017 23:05:11 +0000 (19:05 -0400)]
widget: Give up on GdkEvent api for now
Matthias Clasen [Mon, 28 Aug 2017 23:04:34 +0000 (19:04 -0400)]
treeview: Give up on GdkEvent api for now
There's multiple places where events are manually generated
here, this needs more thought.
Matthias Clasen [Mon, 28 Aug 2017 22:53:40 +0000 (18:53 -0400)]
entry accessible: Give up on GdkEvent api for now
Just include gdkeventsprivate.h here for now. This may be
resolved by just dropping icon support from GtkEntry down
the road.
Matthias Clasen [Mon, 28 Aug 2017 22:52:48 +0000 (18:52 -0400)]
a11y: Stop listening for configure events
This needs to be done differently.
Matthias Clasen [Mon, 28 Aug 2017 22:47:35 +0000 (18:47 -0400)]
Add some more GdkEvent getters
Matthias Clasen [Mon, 28 Aug 2017 22:47:03 +0000 (18:47 -0400)]
gtk-demo: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 18:29:52 +0000 (14:29 -0400)]
treev view column: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 18:29:31 +0000 (14:29 -0400)]
clipboard: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 18:26:30 +0000 (14:26 -0400)]
a11y: Use GdkEvent API in some places
More work needed.
Matthias Clasen [Sat, 26 Aug 2017 16:23:02 +0000 (12:23 -0400)]
tooltip: Use GdkEvent API
And at the same time, reshuffle things slightly to avoid
creating synthetic events.
Matthias Clasen [Sat, 26 Aug 2017 16:22:49 +0000 (12:22 -0400)]
text view: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 16:22:35 +0000 (12:22 -0400)]
text handle: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:58:39 +0000 (10:58 -0400)]
selection: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:58:23 +0000 (10:58 -0400)]
search bar: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:58:08 +0000 (10:58 -0400)]
scrolled window: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:57:52 +0000 (10:57 -0400)]
places view: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:57:37 +0000 (10:57 -0400)]
place sidebar: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:57:15 +0000 (10:57 -0400)]
path bar: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:56:25 +0000 (10:56 -0400)]
pad controller: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:56:08 +0000 (10:56 -0400)]
menu shell: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:55:52 +0000 (10:55 -0400)]
menu item: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:55:35 +0000 (10:55 -0400)]
im context simple: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:55:16 +0000 (10:55 -0400)]
header bar: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:53:33 +0000 (10:53 -0400)]
gesture zoom: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:53:01 +0000 (10:53 -0400)]
gesture swipe: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:52:45 +0000 (10:52 -0400)]
gesture single: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:52:25 +0000 (10:52 -0400)]
gesture rotate: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:52:06 +0000 (10:52 -0400)]
gesture drag: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:51:49 +0000 (10:51 -0400)]
gesture: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:50:50 +0000 (10:50 -0400)]
window accessible: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:50:34 +0000 (10:50 -0400)]
widget accessible: Use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 14:50:15 +0000 (10:50 -0400)]
Add more GdkEvents API
Matthias Clasen [Sat, 26 Aug 2017 02:55:38 +0000 (22:55 -0400)]
xim: Convert to GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 02:54:25 +0000 (22:54 -0400)]
settings: Convert to GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 02:53:58 +0000 (22:53 -0400)]
gesture rotate: Partially convert to GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 02:53:42 +0000 (22:53 -0400)]
gesture: Partially convert to GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 02:53:19 +0000 (22:53 -0400)]
flowbox: Convert to GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 02:53:04 +0000 (22:53 -0400)]
file chooser widget: Covert to GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 02:52:48 +0000 (22:52 -0400)]
expander: Convert to GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 02:52:27 +0000 (22:52 -0400)]
entry: Convert to GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 02:52:09 +0000 (22:52 -0400)]
dnd: Convert to GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 02:51:37 +0000 (22:51 -0400)]
cell renderer accel: Convert to GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 02:51:18 +0000 (22:51 -0400)]
bindings: Convert to use GdkEvent API
Matthias Clasen [Sat, 26 Aug 2017 02:50:52 +0000 (22:50 -0400)]
Add more getters for event fields
Carlos Garnacho [Sat, 5 Aug 2017 13:34:39 +0000 (15:34 +0200)]
gdk: Make GdkEvent structs/union opaque
All users are forced to deal with events as opaque pointers, only
using API to access the info.
Carlos Garnacho [Fri, 25 Aug 2017 14:58:33 +0000 (16:58 +0200)]
bindings: Partially update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:58:20 +0000 (16:58 +0200)]
a11y: Partially update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:57:26 +0000 (16:57 +0200)]
inspector: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:56:53 +0000 (16:56 +0200)]
gtkwindow: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:56:15 +0000 (16:56 +0200)]
treeview: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:56:05 +0000 (16:56 +0200)]
tooltip: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:55:47 +0000 (16:55 +0200)]
textview: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:55:39 +0000 (16:55 +0200)]
texthandle: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:55:22 +0000 (16:55 +0200)]
spinbutton: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:54:34 +0000 (16:54 +0200)]
scrolledwindow: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:54:21 +0000 (16:54 +0200)]
scalebutton: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:54:11 +0000 (16:54 +0200)]
recentchoooser: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:52:41 +0000 (16:52 +0200)]
range: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:52:16 +0000 (16:52 +0200)]
popover: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:52:03 +0000 (16:52 +0200)]
placesview: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:51:49 +0000 (16:51 +0200)]
placessidebar: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:51:12 +0000 (16:51 +0200)]
paned: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:50:30 +0000 (16:50 +0200)]
notebook: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:50:14 +0000 (16:50 +0200)]
mountoperation: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:49:38 +0000 (16:49 +0200)]
menu: Update to using GdkEvent API
To some extent, plenty of root coordinate calculations left...
Carlos Garnacho [Fri, 25 Aug 2017 14:49:12 +0000 (16:49 +0200)]
listbox: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:48:47 +0000 (16:48 +0200)]
imcontext: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:48:09 +0000 (16:48 +0200)]
iconview: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:47:11 +0000 (16:47 +0200)]
gesture: Update to using GdkEvent API
To some extent, pad and touchpad gesture events need extra API.
Carlos Garnacho [Fri, 25 Aug 2017 14:46:28 +0000 (16:46 +0200)]
fontchooser: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:46:15 +0000 (16:46 +0200)]
flowbox: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:46:01 +0000 (16:46 +0200)]
filechooser: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:45:20 +0000 (16:45 +0200)]
entrycompletion: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:45:12 +0000 (16:45 +0200)]
entry: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:44:59 +0000 (16:44 +0200)]
combobox: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:44:48 +0000 (16:44 +0200)]
colorswatch: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:44:38 +0000 (16:44 +0200)]
colorplane: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:44:29 +0000 (16:44 +0200)]
coloreditor: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:44:04 +0000 (16:44 +0200)]
cellrendererspin: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:43:52 +0000 (16:43 +0200)]
cellarea: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:43:42 +0000 (16:43 +0200)]
calendar: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:43:09 +0000 (16:43 +0200)]
button: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:42:39 +0000 (16:42 +0200)]
appchooserwidget: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:42:09 +0000 (16:42 +0200)]
aboutdialog: Update to using GdkEvent API
Carlos Garnacho [Fri, 25 Aug 2017 14:40:59 +0000 (16:40 +0200)]
modules: Update input context impls to using GdkEvent API
Carlos Garnacho [Tue, 19 Sep 2017 16:30:01 +0000 (18:30 +0200)]
gdk/wayland: Don't make gtk_shell1 v2 mandatory
It may result in a protocol error on older mutters, as GTK+ will
invariably request a higher version than what's available. Make
GTK+ also accept v1 if it's all the compositor has got.